#include <iostream>
#include <cstdio>
using namespace std;
void show(int *p,int n)
{
	for(int i=0;i<n;i++){
		//TODO
		//printf("%d ",*(p+i));
		cout << *(p+i)<<" ";
	}
}

//use index for exchange once
void sort_d(int *p,int n)
{
	int index = 0;
	int min = p[0];
	for(int i=1;i<n+1;i++){
		if(min > p[i])
		{
			index = i;
			min = p[i];
		}
	}
	if(index !=0)
	{
		int t = p[0];
		p[0] = min;
		p[index] = t;
	}
}

//use exchange one  by one
void sort_d2(int *p,int n)
{
//	int index = 0;
//	int min = p[0];
	for(int i=1;i<n+1;i++){
		if(p[0] > p[i])
		{
			int t = p[0];
			p[0] = p[i];
			p[i] = t;
		}
	}
	
}

void sort(int *buf,int n)
{
	for(int i=0;i<n-1;i++){
		//one circle exchange ,method 1
		//sort_d(buf+i,n-1-i);
		//one circle exchange, method 2
		sort_d2(buf+i,n-1-i);
	}
}


int main()
{
	
	int n = 0;
	freopen("1.txt","r",stdin);
	cin >> n;
	int *buf = new int[n];
	
	for(int i=0;i<n;i++){
		
		//TODO
		cin>>buf[i];
	}
	sort(buf,n);
	
	show(buf,n);
	return 0;
}
